package com.raspbian.monitor.service;

import com.baomidou.mybatisplus.extension.api.R;
import com.baomidou.mybatisplus.extension.service.IService;
import com.raspbian.monitor.entity.SensorData;

import java.util.Date;

public interface SensorDataService extends IService<SensorData> {
    /**
     * 插入数据：新增一条传感器记录值
     * @return
     */
    R insertSensorData(SensorData sensorData);

    /**
     * 实时播报：查询最新三条传感器数据
     *
     * @return
     */
    R selectLatestData();

    /**
     * APP消息流
     * 以起始时间开始计算，向前查询6条记录
     *
     * @return
     */
    R selectAppData(Date startTime);

    /**
     * 查询当天0点至今的传感器数据
     *
     * @return
     */
    R selectTodaySensorData();

    /**
     * 根据参数查询传感器数据
     *
     * @param startTime   开始时间
     * @param endTime     结束时间
     * @param minTemp     最低温度
     * @param maxTemp     最高温度
     * @param minHumidity 最小湿度
     * @param maxHumidity 最大湿度
     * @param gasStatus   有害气体是否超标 0否 1是
     * @return
     */
    R selectSensorDataTable(Date startTime, Date endTime,
                            Double minTemp, Double maxTemp,
                            Double minHumidity, Double maxHumidity,
                            Integer gasStatus);

}
